#include <REGX52.h>

/**
  * @brief  初始化定时器0
  * @parm	无
  * @retval	无
  */
void Timer1_Init()
{
	//定时器模式
	//TMOD选择定制器0，不可位寻址，只能一起赋值
	//高4位是定时器1，低4位是定时器0
	//从高到底分别为GATE，C/T，M1，M0
	//GATE = 0，只要TR0为1就可以打开定时器
	//C/T = 0，选择定时器
	//M1, M0 为01，代表选择模式1——16位定时器
	//选择定时器T0
	//所以低四位为0001
	TMOD &= 0x0F; 	//高4位清零，低4位保持不变
	TMOD |= 0x10; 	//高4位为0001，低4位保持不变
	//计数单元中断
	TF1 = 0; 				//溢出标志位，初始化为0，硬件置1
	TR1 = 1;				//允许中断
	//中断开关
	ET1 = 1;				//定时器0的中断开关
	EA = 1;					//中断总开关
	PT1 = 0;				//中断优先级为低
	//定时器初值，每当超过65535，会发生一次中断，1us + 1
	//设置初值为64535，距离超时有1000us，即1ms
	TH1 = 0x91;		//高8位
	TL1 = 0xFF;		//低8位
}

////定时器1中断函数模板
//void Timer1_Rountine(void) interrupt 3
//{
//	TH0 = 64535 / 256;		//高8位
//	TL0 = 64535 % 256 + 1;		//低8位
//	static unsigned int timeCount = 0;
//	timeCount++;
//	if(timeCount >= 1000)
//	{
//		timeCount = 0;
//	}
//}








